package com.cmc6.bulletin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cmc6.bulletin.model.dto.BulletinInsertOrUpdateDTO;
import com.cmc6.bulletin.model.dto.BulletinPageDTO;
import com.cmc6.bulletin.model.dto.BulletinUserPageDTO;
import com.cmc6.bulletin.model.entity.BulletinDO;
import com.cmc6.bulletin.model.vo.BulletinPageVO;
import com.cmc6.bulletin.model.vo.BulletinUserPageVO;
import com.cmc6.common.model.dto.NotEmptyIdSet;
import com.cmc6.common.model.dto.NotNullId;

public interface BulletinService extends IService<BulletinDO> {

    String insertOrUpdate(BulletinInsertOrUpdateDTO dto);

    String submit(NotNullId notNullId);

    String revoke(NotNullId notNullId);

    Page<BulletinPageVO> myPage(BulletinPageDTO dto);

    BulletinDO infoById(NotNullId notNullId);

    String deleteByIdSet(NotEmptyIdSet notEmptyIdSet);

    Page<BulletinUserPageVO> userPage(BulletinUserPageDTO dto);

    Long userCount();

}
